home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-10-27 | 6.2 KB | 185 lines | [TEXT/MPS ] |
- #ifndef SOMClass_API
- #define SOMClass_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
- class SOMClass;
- class SOMObject;
- #ifndef _IDL_SEQUENCE_SOMClass_defined
- #define _IDL_SEQUENCE_SOMClass_defined
- typedef struct {
- unsigned long _maximum;
- unsigned long _length;
- SOMClass **_buffer;
- } _IDL_SEQUENCE_SOMClass;
- #endif /* _IDL_SEQUENCE_SOMClass_defined */
- typedef
- _IDL_SEQUENCE_SOMClass SOMClass_SOMClassSequence;
-
- /*
- * a sequence of classes
- * These methods are expected to be invoked by SOM clients
- */
-
- #ifndef SOM_DONT_USE_SHORT_NAMES
-
- #ifndef SOM_DONT_USE_SHORT_NAMES
- #ifndef SOMTGD_SOMClassSequence
- #ifdef SOMClassSequence
- #undef SOMClassSequence
- #define SOMTGD_SOMClassSequence 1
- #else
- #define SOMClassSequence SOMClass_SOMClassSequence
- #endif /* SOMClassSequence */
- #endif /* SOMTGD_SOMClassSequence */
- #endif /* SOM_DONT_USE_SHORT_NAMES */
- #endif /* SOM_DONT_USE_SHORT_NAMES */
-
- /*
- * End of user-defined types.
- */
-
- #ifdef OLDIBMSOMAPISUPPORT
- #define SOMClassCClassData SOMClassClassData
- #define SOMClassNewClass(major,minor) somNewVersionedClassReference(SOMClass,major,minor)
- #endif
-
- /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
- #define SOMClassMetaClass SOMClass
-
-
- /* The API to the SOMClass class object, and the methods it introduces. */
- SOMEXTERN struct SOMClassClassDataStructure {
- #ifdef OLDIBMSOMAPISUPPORT
- SOMClass *classObject; /* always zero, use somNewClassReference instead */
- #else
- long zero;
- #endif
- somStaticClassInfo *sci;
- somDToken instanceDataToken;
- long reserved [3];
- somMToken somNew;
- somMToken somRenew;
- somMToken somClassReady;
- somMToken somGetName;
- somMToken somDescendedFrom;
- somMToken somCheckVersion;
- somMToken somFindMethod;
- somMToken somFindMethodOk;
- somMToken somSupportsMethod;
- somMToken somGetNumMethods;
- somMToken somGetInstanceSize;
- somMToken somGetInstancePartSize;
- somMToken somGetMethodIndex;
- somMToken somGetNumStaticMethods;
- somMToken somAddDynamicMethod;
- somMToken somFindSMethod;
- somMToken somFindSMethodOk;
- somMToken somGetMethodDescriptor;
- somMToken somGetNthMethodInfo;
- somMToken somNewNoInit;
- somMToken somRenewNoInit;
- somMToken somGetInstanceToken;
- somMToken somGetMethodData;
- somMToken somGetMethodToken;
- somMToken somGetParents;
- somMToken somGetVersionNumbers;
- somMToken somLookupMethod;
- somMToken somRenewNoZero;
- somMToken somRenewNoInitNoZero;
- somMToken somAllocate;
- somMToken somDeallocate;
- somMToken somGetNthMethodData;
- somMToken somMakeDynamicClassReference;
- } SOMDLINK SOMClassClassData;
-
- #if !defined(SOMClass_Class_Source) && !defined(SOM_Module_somcls_Source)
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import list SOMClassClassData
- #endif
- #endif
-
-
- /*
- * -- Typedefs and inline method declarations for left path inherited methods
- * -- are omitted because this compilation had -museinheritedmethods in effect
- */
-
-
- /*
- * -- Typedefs for SOMClass Method Procedures
- */
- SOMEXTERN {
- typedef SOMObject* (* SOMLINK somTD_SOMClass_somNew)(SOMClass *somSelf);
- typedef boolean (* SOMLINK somTD_SOMClass_somMakeDynamicClassReference)(SOMClass *somSelf);
- typedef long (* SOMLINK somTD_SOMClass_somGetInstancePartSize)(SOMClass *somSelf);
- typedef long (* SOMLINK somTD_SOMClass_somGetInstanceSize)(SOMClass *somSelf);
- typedef corbastring (* SOMLINK somTD_SOMClass_somGetName)(SOMClass *somSelf);
- typedef somDToken (* SOMLINK somTD_SOMClass_somGetInstanceToken)(SOMClass *somSelf);
- typedef long (* SOMLINK somTD_SOMClass_somGetNumMethods)(SOMClass *somSelf);
- typedef long (* SOMLINK somTD_SOMClass_somGetNumStaticMethods)(SOMClass *somSelf);
- typedef boolean (* SOMLINK somTD_SOMClass_somGetMethodData)(SOMClass *somSelf,
- somId methodId,
- somMethodData* md);
- typedef somKernelId (* SOMLINK somTD_SOMClass_somGetMethodDescriptor)(SOMClass *somSelf,
- somId methodId);
- typedef somMToken (* SOMLINK somTD_SOMClass_somGetMethodToken)(SOMClass *somSelf,
- somId methodId);
- typedef void (* SOMLINK somTD_SOMClass_somAddDynamicMethod)(SOMClass *somSelf,
- somId methodId,
- somId methodDescriptor,
- somMethodPtr method,
- somMethodPtr applyStub);
- typedef long (* SOMLINK somTD_SOMClass_somGetMethodIndex)(SOMClass *somSelf,
- somId id);
- typedef boolean (* SOMLINK somTD_SOMClass_somGetNthMethodData)(SOMClass *somSelf,
- long n,
- somMethodData* md);
- typedef somKernelId (* SOMLINK somTD_SOMClass_somGetNthMethodInfo)(SOMClass *somSelf,
- long n,
- somKernelId* descriptor);
- typedef boolean (* SOMLINK somTD_SOMClass_somFindMethod)(SOMClass *somSelf,
- somId methodId,
- somMethodPtr* m);
- typedef boolean (* SOMLINK somTD_SOMClass_somFindMethodOk)(SOMClass *somSelf,
- somId methodId,
- somMethodPtr* m);
- typedef somMethodPtr (* SOMLINK somTD_SOMClass_somFindSMethod)(SOMClass *somSelf,
- somId methodId);
- typedef somMethodPtr (* SOMLINK somTD_SOMClass_somFindSMethodOk)(SOMClass *somSelf,
- somId methodId);
- typedef somMethodPtr (* SOMLINK somTD_SOMClass_somLookupMethod)(SOMClass *somSelf,
- somId methodId);
- typedef corbastring (* SOMLINK somTD_SOMClass_somAllocate)(SOMClass *somSelf,
- long size);
- typedef void (* SOMLINK somTD_SOMClass_somDeallocate)(SOMClass *somSelf,
- corbastring memptr);
- typedef void (* SOMLINK somTD_SOMClass_somClassReady)(SOMClass *somSelf);
- typedef void (* SOMLINK somTD_SOMClass_somGetVersionNumbers)(SOMClass *somSelf,
- long* majorVersion,
- long* minorVersion);
- typedef boolean (* SOMLINK somTD_SOMClass_somCheckVersion)(SOMClass *somSelf,
- long majorVersion,
- long minorVersion);
- typedef boolean (* SOMLINK somTD_SOMClass_somDescendedFrom)(SOMClass *somSelf,
- SOMClass* aClassObj);
- typedef boolean (* SOMLINK somTD_SOMClass_somSupportsMethod)(SOMClass *somSelf,
- somId mId);
- typedef SOMObject* (* SOMLINK somTD_SOMClass_somNewNoInit)(SOMClass *somSelf);
- typedef SOMObject* (* SOMLINK somTD_SOMClass_somRenew)(SOMClass *somSelf,
- void* memptr);
- typedef SOMObject* (* SOMLINK somTD_SOMClass_somRenewNoInit)(SOMClass *somSelf,
- void* memptr);
- typedef SOMObject* (* SOMLINK somTD_SOMClass_somRenewNoZero)(SOMClass *somSelf,
- void* memptr);
- typedef SOMObject* (* SOMLINK somTD_SOMClass_somRenewNoInitNoZero)(SOMClass *somSelf,
- void* memptr);
- typedef SOMClass_SOMClassSequence (* SOMLINK somTD_SOMClass_somGetParents)(SOMClass *somSelf);
- }
-
- #endif /* SOMClass_API */
-